package WS;

import java.text.SimpleDateFormat;
import java.util.Date;

import Mensajes.*;
import Persistencia.conexionBD;

public class awslaboratorio {

	public String execute(String hl7){

		String NL = "\r";
		String respuesta = "";	
		String tipo = "";
		SimpleDateFormat formato = new SimpleDateFormat("yyyyMMddhhmmss");
		String fechaServidor = formato.format(new Date()).toString();

		try {    
			tipo = hl7.split("MSH\\|")[1].split("\\|")[7];
			if (tipo.equals("OML^021")) {
				respuesta = Orden.procesarOrden(hl7);
			}else{
				if (tipo.equals("ORU^R01")) {
					respuesta = Resultado.procesarResultado(hl7);
				}else{
					respuesta = "MSH|^~\\&|GEOSALUD||ADT|" + hl7.split("\\|")[9] + "|" + fechaServidor + "||ACK||P|2.5" + NL +
							"MSA|AE|1|No se reconoce tipo de mensaje "+tipo+"|1";
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
			conexionBD.log("NuevaOrden", hl7, "Error. falta alguna linea", 0);			
			respuesta = "MSH|^~\\&|GEOSALUD||ADT|0|" + fechaServidor + "||ACK||P|2.5" + NL
					+ "MSA|AE|99|"+e.toString()+"|1";
		}
		return respuesta;
	}

}
